var Module_send = function(options){
    this.module = options.module;
    this.controller = options.controller;
    this.urlPath = baseUrl + '/' + this.module + '/' + this.controller;
    this.initialize();
    this.sendding = false;
    this.obGridView = $("#jqxgrid");
}

Module_send.prototype.initialize = function(){
    var self = this;
    $("#refresh").unbind('click').click(function(){
        self.obGridView.jqxGrid('updatebounddata','filter');

    });
    $("#addrow").unbind('click').click(function(){self.add()});
    $("#editrow").unbind('click').click(function(){self.edit()});
	$("#roprow").unbind('click').click(function(){self.rop()});
	$("#releaserow").unbind('click').click(function(){self.release()});
    $("#deleterow").unbind('click').click(function(){self.delete()});
}
Module_send.prototype.initializeJqxGrid = function(){
    

}

$.extend(Module_send.prototype, {
    _eSave: function(){
        var self = this;
        $("#btnsave").unbind('click').click(function(){
            if($('#frmUpdate')[0].checkValidity()){
                self.save();
                return false;
            }
        });
		//Lay so tu dong
        $("#SendDate").unbind('change').change(function(){
			var date = $(this).val();
			self.getNumber(date);
        });
    },
    
} );
/*
 * Them moi
 * Creater : Truongdv
 */

Module_send.prototype.add = function(){
    
    var self = this
        ,url = this.urlPath + '/add'
        ,data = {ListtypeID:$('#hdn_ListtypeID').val()};
    if(data.ListtypeID == ''){
        alert('Bạn chưa chọn loại danh mục để thêm đối tượng!', 'Thông báo');
        return false;
    }
    $.ajax({
        url: url,
        type: "POST",
        data: data,
        success: function(string){
            $('#Tab-02').html(string);
            $('#Tab02').trigger('click');
			lddadepicker();
            self._eSave();
            dLayout.hideLoadPage();
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    });
     return !history.pushState;
}

Module_send.prototype.edit = function(){
    var self = this
        ,url = this.urlPath + '/add'
        ,SendID=''
        ,count = 0
        ,row
        ,data = [];
    var rows = self.obGridView.jqxGrid('selectedrowindexes');
    var selectedRecords = new Array();
    var list = '';
    for (var i = 0; i < rows.length; i++) {
        row = self.obGridView.jqxGrid('getrowdata', rows[i]);
		SendID = row.SendID;
        count++;
    }
 //alert(list); return false;
    if(count == 0){
        alert('Bạn chưa chọn một đối tượng nào để sửa!', 'Thông báo');
        return false;
    }
    if(count >1){
        alert('Bạn chỉ được chọn một đối tượng để sửa!', 'Thông báo');
        return false;
    }    
    $.ajax({
        url: url,
        type: "POST",
        data: {SendID:SendID},
        success: function(string){
            $('#Tab-02').html(string);
            $('#Tab02').trigger('click');
            self._eSave();
            $('#Code').attr('readonly',true);
            dLayout.hideLoadPage();		
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    }); 
     return !history.pushState;
}

Module_send.prototype.release = function(){
    var self = this
        ,url = this.urlPath + '/release'
        ,SendID=''
        ,count = 0
        ,row
        ,data = [];
    var rows = self.obGridView.jqxGrid('selectedrowindexes');
    var selectedRecords = new Array();
    var list = '';
    for (var i = 0; i < rows.length; i++) {
        row = self.obGridView.jqxGrid('getrowdata', rows[i]);
		SendID = row.SendID;
        count++;
    }
	//alert(list); return false;
    if(count == 0){
        alert('Bạn chưa chọn một đối tượng nào để sửa!', 'Thông báo');
        return false;
    }
    if(count >1){
        alert('Bạn chỉ được chọn một đối tượng để sửa!', 'Thông báo');
        return false;
    }
    $.ajax({
        url: url,
        type: "POST",
        data: {SendID:SendID},
        success: function(string){
            $('#Tab-02').html(string);
            $('#Tab02').trigger('click');
            self._eSave();
			var date = $("#SendDate").val();
			self.getNumber(date);
            $('#Code').attr('readonly',true);
            dLayout.hideLoadPage();		
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    }); 
     return !history.pushState;
}

Module_send.prototype.rop = function(){
    var self = this
        ,url = this.urlPath + '/rop'
        ,SendID=''
        ,count = 0
        ,row
        ,data = [];
    var rows = self.obGridView.jqxGrid('selectedrowindexes');
    var selectedRecords = new Array();
    var list = '';
    for (var i = 0; i < rows.length; i++) {
        row = self.obGridView.jqxGrid('getrowdata', rows[i]);
		SendID = row.SendID;
        count++;
    }
    if(count == 0){
        alert('Bạn chưa chọn một đối tượng nào để theo dõi!', 'Thông báo');
        return false;
    }
    if(count >1){
        alert('Bạn chỉ được chọn một đối tượng để theo dõi!', 'Thông báo');
        return false;
    }    
    $.ajax({
        url: url,
        type: "POST",
        data: {SendID:SendID},
        success: function(string){
            $('#Tab-02').html(string);
            $('#Tab02').trigger('click');
			//Thong tin gui nhan
			self.ropinfo(SendID);		
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    });
    return !history.pushState;
}
Module_send.prototype.ropinfo = function(SendID){
	var url = this.urlPath + '/ropdata'
    $.ajax({
        url: url,
        type: "POST",
        data: {SendID:SendID},
        success: function(data){
            // prepare the data
			//console.log(data);return false;
            var source =
            {
                datatype: "json",
                datafields: [
                    { name: 'PositionName', type: 'string' },
					{ name: 'Status', type: 'bool' },
                    { name: 'CompleteDate', type: 'string' }
                ],
                localdata: data
            };
            var dataAdapter = new $.jqx.dataAdapter(source);
            $("#jqxgridRop").jqxGrid(
            {
                width: '100%',
				height: '200',
				theme: 'energyblue',
                source: dataAdapter,
				altrows: true,
                columns: [
                    { text: 'Họ và tên', datafield: 'PositionName', width: '50%' },
					{ text: 'Đã xem', datafield: 'Status', threestatecheckbox: true, columntype: 'checkbox', width: '20%', cellsalign: 'center', align: 'center' },
                    { text: 'Thời gian xem', datafield: 'CompleteDate', width: '30%', cellsalign: 'center', align: 'center' }
                ]
            });
			dLayout.hideLoadPage();	
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    });
}
Module_send.prototype.delete = function(){
    var self = this
        ,url = this.urlPath + '/delete'
        ,ListIDs=''
        ,count = 0
        ,data = []
        ,row;
    var rows = self.obGridView.jqxGrid('selectedrowindexes')
    ,iTotal = rows.length;
    var selectedRecords = new Array();

    for (var i = 0; i < iTotal; i++) {
        row = self.obGridView.jqxGrid('getrowdata', rows[i]);
        if(row.SendID){
            selectedRecords.push(rows[i]);
            count++;
            ListIDs += row.SendID + ',';
        }
    }
    ListIDs = ListIDs.substring(0,ListIDs.length -1); 
    if(count == 0){
        alert('Bạn chưa chọn một đối tượng nào để xóa!', 'Thông báo');
        return false;
    }
      
    $.ajax({
        url: url,
        type: "POST",
        data: {ListIDs:ListIDs},
        success: function(rsp){
            if(rsp){
                for (var i = 0; i < selectedRecords.length; i++) {
                    self.obGridView.jqxGrid('deleterow', selectedRecords[i]);
                }
                // self.obGridView.jqxGrid("refreshdata");
                // self.obGridView.jqxGrid("clearselection");
                self.obGridView.jqxGrid('updatebounddata','filter');
            } 
            dLayout.hideLoadPage();
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    }); 
     return !history.pushState;
}

Module_send.prototype.save = function(){
    var self = this
        ,url = this.urlPath + '/save'
        ,xmlData = getDataXml($('form#frmUpdate'))
        ,data = $('form#frmUpdate').serializeArray();
    data.push({name:'XmlData',value:xmlData});
    $.ajax({
        url: url,
        type: "POST",
        data: data,
        // dataType: 'json',
        success: function(errors){
            errors = $.parseJSON(errors);
            if(errors.length){
               alert($('label[for="Code"]').text() + ' ' + errors['0']['Code']);
            }else{
                document.getElementById('frmUpdate').reset();           
                $('#Tab01').trigger('click');
                self.obGridView.jqxGrid('updatebounddata','filter');
            }
            dLayout.hideLoadPage();
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    }); 
     return !history.pushState; // ngăn việc chuyển trang thực sự nếu trình duyệt có hỗ trợ pushState
}

Module_send.prototype.getNumber = function(date){
    var self = this
        ,url = this.urlPath + '/getnumber'
        ,data = {'date':date};
    $.ajax({
        url: url,
        type: "POST",
        data: data,
        //dataType: 'json',
        success: function(errors){
			$("#NumberMain").val(errors);
            dLayout.hideLoadPage();
        },
        beforeSend: function(xhr) {
            dLayout.showLoadPage();
        },
        errors: function(){
            dLayout.hideLoadPage();
        }
    }); 
     return !history.pushState; // ngăn việc chuyển trang thực sự nếu trình duyệt có hỗ trợ pushState
}